TOP

SQL BETWEEN ステートメント

SQL BETWEEN 説明

BETWEEN 演算子は、指定された範囲内の値を選択します。値には、数値、テキスト、または日付を使用できます。

BETWEEN 演算子は、開始値と終了値を含むデータを選択します。


BETWEEN 構文

SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2

デモデータベース

以下は、「Products」テーブルのサンプルです。

ProductIDProductNameSupplierIDCategoryIDUnitPrice
1Chais1110 boxes x 20 bags18.00
2Chang1124 - 12 oz bottles19.00
3Aniseed Syrup1212 - 550 ml bottles10.00
4Chef Anton's Cajun Seasoning2248 - 6 oz jars22.00
5Chef Anton's Gumbo Mix2236 boxes21.35

SQL BETWEEN の例

次の SQL ステートメントは、価格が 10 ~ 20 のすべての製品を選択します。

Run SQLSELECT * FROM Products 
WHERE Price BETWEEN 10 AND 20

NOT BETWEEN の例

前の例の範囲外の製品を表示するには、NOT BETWEEN を使用します。

Run SQLSELECT * FROM Products 
WHERE Price NOT BETWEEN 10 AND 20

BETWEEN と IN の例

次の SQL ステートメントは、価格が 10 ~ 20 のすべての製品を選択しますが、同時に CategoryID 1、2、または 3 の製品は表示されません。

Run SQLSELECT * FROM Products 
WHERE Price BETWEEN 10 AND 20 
AND CategoryID NOT IN (1,2,3)

BETWEEN とテキスト値の例

次の SQL ステートメントは、ProductName から「Carnarvon Tigers」と「Mozzarella di Giovanni」の間のすべての製品を選択します。

Run SQLSELECT * FROM Products 
WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni' 
ORDER BY ProductName

次の SQL ステートメントは、ProductName から「Carnarvon Tigers」と「Chef Anton's Cajun Seasoning」の間のすべての製品を選択します。

Run SQLSELECT * FROM Products 
WHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Chartreuse verte' 
ORDER BY ProductName

NOT BETWEEN とテキスト値の例

次の SQL ステートメントは、「Carnarvon Tigers」と「Mozzarella di Giovanni」の間にないすべての製品を ProductName から選択します。

Run SQLSELECT * FROM Products 
WHERE ProductName NOT BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni' 
ORDER BY ProductName

テーブルサンプル

以下はテーブル「Orders」(「注文」) のサンプルです。

ProductIDOrderIDCustomerIDEmployeeIDOrderDateShipperID
1102489051996-07-043
2102498161996-07-051
3102503441996-07-082
4102518431996-07-081
5102527641996-07-092

BETWEEN と日付の例

次の SQL ステートメントは、「01- July-1996」から「31- July-1996」までの OrderDate からのすべての注文 (Orders) を選択します。

SELECT * FROM Orders 
WHERE OrderDate BETWEEN #07/01/1996# AND #07/31/1996#

または:

Run SQLSELECT * FROM Orders 
WHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31'